package pms.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import pms.dao.JahrDao;
import pms.dao.MitarbeiterDao;
import pms.dao.MitarbeiterAbwesendDao;
import pms.dao.AbteilungDao;

/**
 * <p>
 * Ein Controller, der alle Abwesenheiten des Mitarbeiters ausgibt
 * </p>
 * <p>
 * ModelAndView Infos
 * <ul>
 * <li>title: Ueberschrift dieser View</li>
 * <li>message: Hinweise fuer den Benutzer</li>
 * <li>abwesenheitendesmitarbeiters: Alle Abwesenheiten des Mitarbeiters</li>
 * </ul>
 * Der Name der ausgebenden View ist: 'listAbwesenheitendesMitarbeiters'
 * </p>
 * @see JahrDao
 * @see MitarbeiterAbwesendDao
 * @see MitarbeiterDao
 * @see AbteilungDao
 */

public class AlleAbwesenheitendesMitarbeiters2 extends AbstractController {

	private MitarbeiterDao mitarbeiterDao;
	private MitarbeiterAbwesendDao mitarbeiterAbwesendDao;
	private JahrDao jahrDao;
	private AbteilungDao abteilungDao;
	
	public MitarbeiterDao getMitarbeiterDao() {
		return mitarbeiterDao;
	}

	public void setMitarbeiterDao(MitarbeiterDao mitarbeiterDao) {
		this.mitarbeiterDao = mitarbeiterDao;
	}

	public MitarbeiterAbwesendDao getMitarbeiterAbwesendDao() {
		return mitarbeiterAbwesendDao;
	}

	public void setMitarbeiterAbwesendDao(
			MitarbeiterAbwesendDao mitarbeiterAbwesendDao) {
		this.mitarbeiterAbwesendDao = mitarbeiterAbwesendDao;
	}

	public JahrDao getJahrDao() {
		return jahrDao;
	}

	public void setJahrDao(JahrDao jahrDao) {
		this.jahrDao = jahrDao;
	}

	public AbteilungDao getAbteilungDao() {
		return abteilungDao;
	}

	public void setAbteilungDao(AbteilungDao abteilungDao) {
		this.abteilungDao = abteilungDao;
	}
	
	protected ModelAndView handleRequestInternal(
			HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception 
			{
			httpServletRequest.setCharacterEncoding("UTF-8");
			ModelAndView mv = new ModelAndView();
			int idm = Integer.parseInt(httpServletRequest.getParameter("idm"));
			mv.addObject("title", "Alle Abwesenheiten des Mitarbeiters");
			mv.addObject("message", "Hier können Sie alle Abwesenheiten des Mitarbeiters einsehen bzw. löschen oder bestätigen");
			mv.addObject("mitarbeiter", mitarbeiterDao.findById(idm));
			mv.addObject("abwesenheitendesmitarbeiters", mitarbeiterDao.findeVorgemerkteAbwesenheiten(idm));
			mv.setViewName("listAbwesenheitendesMitarbeiters");
			return mv;
	}
}